package cn.qyd.kaoshi;

import java.util.*;

/**
 * @author 邱运铎
 * @date 2024-03-19 18:11
 */
public class ChengFaMa {
    private static int count = 0;
    private static HashSet<Integer> result = new HashSet<>();
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int len = in.nextInt();
            int[] category = new int[len];
            int[] nums = new int[len];
            for (int i = 0; i < len; i++) {
                category[i] = in.nextInt();
            }
            for (int i = 0; i < len; i++) {
                nums[i] = in.nextInt();
            }
            count = 1;
            result.add(0);
            System.out.println(Arrays.toString(category));
            System.out.println(Arrays.toString(nums));
            //第一层循环，从砝码种类数组中遍历所有种类砝码
            for (int i = 0; i < len; i++) {
                //该arrayList存储在计算某一重量砝码在对应数量的重量时，前面已经有多少不同重量组合结果。
                List<Integer> list = new ArrayList<>(result);
                //遍历对应砝码所有数量次数，每次意味着该种砝码不同数量对应的重量，找出该类砝码所有不同个数的重量结果
                for (int j = 1; j <= nums[i]; j++) {
                    //每次将该类砝码在该数量下的重量和之前存入到结果中数量进行相加存入hashset中
                    for(int k = 0; k < list.size(); k++) {
                        result.add(list.get(k) + category[i] * j);
                        System.out.println(i + "  " + j + "   " + k);
                    }
                    System.out.println(i + "  " + j + "   " + nums[i]);
                }
            }
            System.out.println(result.size());
        }
    }
    public static void dfs() {

    }
}
